At websites, sometimes recommendation data is presented to the user. Recommendation data can include online advertisements and/or product recommendations related to the web pages that the user has browsed or is currently browsing.
Take an example of recommendation data that comprises Internet advertising placement: in some traditional techniques of placing advertisements (ads) on a website, a certain predetermined ad is displayed at a fixed location on the website for a predetermined length of time. The ads displayed by this technique can be seen by all users who visit the website, which is to say that every user who visits the website can browse the same ads. Often, this type of ad placement technique does not consider individual differences among the users who visit the website and so the effectiveness of these ad placement techniques is relatively poor. In response, ad placement targeted for particular users emerged to better cater to individual website visitors.
In some conventional systems of targeted ad placement, an ad is selected for a user based on the content that the user is currently browsing and the ad is displayed at a predetermined location on the website. For example, in the course of the user's browsing of a web page, the web server hosting the website receives web page data requests sent by the client device on which the user is performing the browsing and obtains the requested web page data to be displayed as content at the website. The ads to be displayed at the website are then determined on this website content and the ad data is returned along with the requested website content to be displayed at the client device. However, one disadvantage in this technique of targeted ad placement is that due to the diversity of content that can be displayed at each website, the determined ad data based on the website content may not accurately match up with the user's interests.
Furthermore, in some conventional systems of target ad placement, determination of ad placement is determined in real-time in response to receiving a request by a user for website content. As a result, a real-time determination, which may involve the analysis of a large volume of data at the web server, may be needed to be performed frequently. However, frequent processing of data at the web server may be inefficient and also increase the response time to client requests for website content, especially when the website traffic is high.